A flash memory is a storage device that is capable of retaining stored information in the absence of continuous power. The information is stored in a plurality of flash transistors that are electrically connected and formed on a silicone substrate. A flash transistor is typically referred to as a cell and includes a source, a drain, a floating gate and a control gate. Flash memory devices are formed by rows and columns of flash transistors that form a flash transistor array. The flash transistor array is in the form of a matrix where the control gates of the cells are electrically connected with a respective wordline and the drains of the cells are electrically connected with a respective bitline.
The information stored in each cell is in the form of binary ones and zeros, as known in the art. To perform an erase, read or program operation of a particular cell in the array, a predetermined voltage is applied to a respective wordline, bitline and source of the chosen cell. By applying the voltages to a predetermined bitline and wordline, an individual cell can be read or programmed.
To program a respective cell in the flash memory, the control gate and drain of the cell to be programmed are raised to predetermined programming voltages and the source is grounded. When the programming voltages are placed on the wordline and the bitline, hot electrons are injected onto the floating gate where they are trapped forming a negative charge. As known in the art, this electron transfer mechanism is often referred to as Channel Hot Electron (CHE) injection in the semiconductor industry. When the predetermined programming voltages are removed, the negative charge on the floating gate is maintained, thereby raising the threshold voltage of the cell.
In order to read a given cell, the threshold voltage of the cell is measured to determine if the cell is in a charged (programmed) or an uncharged (un-programmed) state. Cells are read by applying a predetermined voltage to the wordline and the bitline, grounding the source of the cell and then sensing the current on the bitline. If the cell is programmed, the threshold voltage will be relatively high and the bitline current will be zero or at least relatively low when the predetermined voltage is applied between the control gate and the drain of the cell. If the cell is not programmed or erased, the threshold voltage will be relatively low and the bitline current will be relatively high when the predetermined voltage is applied.
The typical programming operation is performed in small steps by application of the predetermined programming voltages to a targeted cell for a short period of time followed by a program verify operation. The program verify operation reads the state of the targeted cell to determine if the threshold voltage has been raised to the desired level. The predetermined programming voltages are applied in short, repetitive pulses with the program verify operation occurring after each pulse. When the targeted cell is read during the program verify operation and determined to be at the desired threshold voltage, the programming pulses are no longer applied.
Typically, the threshold voltage is determined from the bitline current of the targeted cell during the program verify operation by comparing the bitline current of the targeted cell with a reference current in a sensing circuit. If the targeted cell conducts with a current greater than or equal to the reference current, it is unprogrammed and if the targeted cell conducts a current that is less than the reference current, it is programmed. The reference current is generated from a group of unprogrammed reference cells in the sensing circuit that are subjected to the same wordline and bitline voltages as the cell targeted for programming. If the targeted cell that has been subject to a program pulse conducts a current at or above the reference current, the programming operation is not complete and additional programming pulses and program verify operations are required.
Known problems occur during the program verify operation when the voltage applied to the wordline is not within a predetermined voltage range. If the voltage applied to the wordline is too high, the cells on that wordline can be physically damaged or there can be a disturbance of the threshold voltage of the cells. In addition, applying a voltage that is too high can also cause data retention failure within the cells. High voltages on the wordline can also affect the endurance of the cells on a given wordline. If the wordline voltage is too low, insufficient bitline current may be developed to properly read and thereby verify the targeted cell.
To avoid the problems associated with introducing voltages to the wordlines that are outside the predetermined voltage range during the program verify operation, it is known in the art to provide a regulated voltage supply that generates the required voltages. The regulated voltage supply is generated by a voltage regulator that is designed to hold an output voltage constant during variations in the output load on a supply voltage (Vcc). However, even though the regulated voltage supply is regulated by the voltage regulator, it is still possible that the regulated voltage supply will not fall within the acceptable predetermined voltage range for introduction of the voltage to the wordlines during the program verify operation.
Simple cost-effective voltage regulation detection circuits have commonly been applied in situations where achievement of the predetermined regulated voltage requires either raising or lowering the supply voltage (Vcc). Consequently, conventional voltage regulation detection circuits only monitor the regulated voltage in one direction. Currently, there is no cost-effective solution to eliminate the possibility of exposing the wordlines to voltages from the voltage regulator that are outside the predetermined voltage range in both directions.
To that end, a need exists for methods and systems capable of bi-directionally monitoring a regulated voltage supply output and applying the regulated voltage supply output to a circuit only when the voltage level falls within a predetermined range.